package com.example.lotterysystem.service;

import com.example.lotterysystem.controller.param.UserLoginParam;
import com.example.lotterysystem.controller.param.UserRegisterParam;
import com.example.lotterysystem.service.dto.UserDTO;
import com.example.lotterysystem.service.dto.UserLoginDTO;
import com.example.lotterysystem.service.dto.UserRegisterDTO;
import com.example.lotterysystem.service.enums.UserIdentityEnum;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @auther falls_vc
 * description:
 * @date 2025/5/10  16:28
 */

public interface UserService {
    /**
     * 用户注册
     * @param userRegisterParam
     * @return
     */
    UserRegisterDTO register(UserRegisterParam userRegisterParam);

    /**
     * 登录
     * 1.手机号/邮箱 + 密码
     * 2.邮箱 + 验证码
     * @param userLoginParam
     * @return
     */
    UserLoginDTO login(UserLoginParam userLoginParam);

    /**
     * 查询用户信息
     * 1. identity == null -> 所有用户
     * 2. identity !=null 根据identity 查询
     * @param identity
     * @return
     */
    List<UserDTO> findUserInfo(UserIdentityEnum identity);
}
